package com.zheng.api.server.service.command;

import com.alibaba.fastjson.JSONObject;
import com.zheng.api.common.constant.ApiConstant;
import com.zheng.api.common.constant.ApiResult;
import com.zheng.api.common.constant.ApiResultConstant;
import com.zheng.api.server.service.ApiServerUmbrellaService;
import com.zheng.api.server.service.base.pay.Base4PayOrderService;
import com.zheng.api.server.service.base.um.Base4UmbrellaService;
import com.zheng.api.server.service.mq.um.Mq4UmbrellaMachineNotify;
import com.zheng.api.server.service.mq.um.Mq4UmbrellaWechatappNotify;
import com.zheng.common.util.DateUtil;
import com.zheng.common.util.JsonUtil;
import com.zheng.umbrella.dao.model.UmbrellaHardwareMachine;
import com.zheng.umbrella.dao.model.UmbrellaHardwareMachineExample;
import com.zheng.umbrella.dao.model.UmbrellaHardwareUmbrella;
import com.zheng.umbrella.rpc.api.UmbrellaHardwareMachineService;
import com.zheng.umbrella.rpc.api.UmbrellaHardwareUmbrellaService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Description: 伞机指令业务处理接口
 * @author lvb
 * @date 2017-09-05
 * @version V1.0
 * @Copyright: www.bjs-tech.com
 */
public interface MachineBusinessCommandInterface {
    /**
     * 设备状态上报【20002】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20002(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 通信连接建立失败通知【20004】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20004(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 扫码借伞-雨伞识别结果上报【20101】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20101(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 扫码借伞-出伞结果上报【20102】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20102(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 扫码还伞-还伞结果上报【20105】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20105(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 物理还伞-还伞识别上报(二次交互模式)【20106】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20106(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 物理还伞-还伞结果上报(二次交互模式)【20107】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20107(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 物理还伞上报(一次交互模式）【20108】
     * @param command
     * @param machineCode
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20108(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 雨伞管理-进伞结果上报【20110】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20110(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 雨伞管理-出伞结果上报【20112】
     * @param command
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20112(String command,String machineCode, int code, String message, JSONObject recvData);
    /**
     * 心跳上报【20998】
     * @param command
     * @param machineCode
     * @param code
     * @param message
     * @param recvData
     */
    public ApiResult doCommand20998(String command,String machineCode, int code, String message, JSONObject recvData);
}
